﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace roma
{
    internal class Calcution
    {
        public string toroma(int num)
        {
            if (num <= 0 || num >= 4000)
            {
                return "超出计算范围";
            }

            // 数字和对应的罗马数字符号
            int[] values = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
            string[] symbols = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };

            string roman = "";

            // 从最大的数字开始
            for (int i = 0; i < 13; ++i)
            {
                // 重复符号直到数字减小
                while (num >= values[i])
                {
                    num -= values[i];
                    roman += symbols[i];
                }
            }

            return roman;
        }

    }
}
